Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

300
Visualizações
¿Por qué ide dice "Valor capturado en un cierre" cuando usa Iterable.flatMap pero no cuando usa el mapa y luego se aplana en kotlin?
inline fun <T : Any, E : Any> batchQuery( paramsToBeChunked: Collection<T>, batchSize: Int = 500, crossinline queryAction: (params: Collection<T>) -> List<E> ) = paramsToBeChunked.chunked(batchSize).flatMap { queryAction(it) }

ingrese la descripción de la imagen aquí

 inline fun <T : Any, E : Any> batchQuery( paramsToBeChunked: Collection<T>, batchSize: Int = 500, crossinline queryAction: (params: Collection<T>) -> List<E> ) = paramsToBeChunked.chunked(batchSize).map { queryAction(it) }.flatten()

ingrese la descripción de la imagen aquí

¿Hay algún problema potencial al usar flatMap?

En mi humilde opinión, map, flatten, flatMap son todas funciones en línea, por lo que estas dos implementaciones son equivalentes, ¿es así?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Si la diversión no estuviera en inline , entonces, en ambos casos, queryAction tendría que capturarse en un cierre, porque proviene de fuera de la lambda. Significa que una clase que se genera bajo el capó contiene una referencia a la variable, y cuando finalmente se ejecuta la lambda, utiliza esa referencia.

Pero aquí, está en línea muy bien. Idea intenta brindar información sobre las variables capturadas, pero en esta situación podría ser una limitación del análisis estático de Idea. El primer mensaje es simplemente incorrecto.

Como sugirió @broot, puede reemplazar .map { f(it) } con solo .map(f) .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda